home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
ast_text
/
faqs
/
frcmplr1
/
part2
< prev
next >
Wrap
Text File
|
1993-06-28
|
63KB
|
1,695 lines
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!world!iecc!compilers-sender
From: David Muir Sharnoff <muir@idiom.berkeley.ca.us>
Subject: Catalog of compilers, interpreters, and other language tools [p2of3]
Message-ID: <free2-Jun-93@comp.compilers>
Followup-To: comp.archives.admin
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Sender: compilers-sender@iecc.cambridge.ma.us
Supersedes: <free2-May-93@comp.compilers>
Reply-To: muir@idiom.berkeley.ca.us
Organization: University of California, Berkeley
References: <free1-Jun-93@comp.compilers>
Date: Tue, 1 Jun 1993 11:00:35 GMT
Approved: compilers@iecc.cambridge.ma.us
Expires: Thu, 1 Jul 1993 23:59:00 GMT
Lines: 1675
Xref: senator-bedfellow.mit.edu comp.compilers:5190 comp.lang.misc:13613 comp.archives.admin:1074 news.answers:8947 comp.answers:841
Archive-name: free-compilers/part2
Last-modified: 1993/05/24
Version: 3.4
language: Concurrent Clean
package: The Concurrent Clean System
version: 0.8.1
parts: development environment, documentation, compiler(byte-code),
compiler(native), interpreter(byte-code), examples
how to get: ftp pub/Clean/* from ftp.cs.kun.nl
author: Research Institute for Declarative Systems,
University of Nijmegen
description: The Concurrent Clean system is a programming
environment for the functional language Concurrent
Clean, developed at the University of Nijmegen, The
Netherlands. The system is one of the fastest
implementations of functional languages available at
the moment. Its I/O libraries make it possible to do
modern, yet purely functional I/O (including windows,
menus, dialogs etc.) in Concurrent Clean. With the
Concurrent Clean system it is possible to develop
real-life applications in a purely functional
language.
* lazy and purely functional
* strongly typed - based on Milner/Mycroft scheme
* module structure
* modern I/O
* programmer-infulenced evaluation order by annotations
contact: clean@cs.kun.nl
ports: Sun-3, Sun-4, Macintosh
updated: 1992/11/07
language: Dylan
pakcage: Thomas
version: ? first public release ?
parts: translator(Scheme)
how to get: ftp pub/DEC/Thomas from gatekeeper.pa.dec.com
author: Matt Birkholz <Birkholz@crl.dec.com>, Jim Miller
<JMiller@crl.dec.com>, Ron Weiss <RWeiss@crl.dec.com>
description: Thomas, a compiler written at Digital Equipment
Corporation's Cambridge Research Laboratory compiles
a language compatible with the language described
in the book "Dylan(TM) an object-oriented dynamic
language" by Apple Computer Eastern Research and
Technology, April 1992. It does not perform well.
Thomas is NOT Dylan(TM).
ports: MIT's CScheme, DEC's Scheme->C, Marc Feeley's Gambi, Mac, PC,
Vax, MIPS, Alpha, 680x0
requires: Scheme
updated: 1992/09/11
language: E
package: Amiga E
version: 2.1b
parts: compiler, assembler, linker, utilities
author: Wouter van Oortmerssen <Wouter@mars.let.uva.nl>
how to get: ftp amiga/dev/lang/AmigaE21b.lha from amiga.physik.unizh.ch
description: An Amiga specific E compiler. E is a powerful and flexible
procedural programming language and Amiga E a very fast com-
piler for it, with features such as compilation speed of
20000 lines/minute on a 7 Mhz amiga, inline assembler and
linker integrated into compiler, large set of integrated
functions, module concept with 2.04 includes as modules,
flexible type-system, quoted expressions, immediate and typed
lists, low level polymorphism, exception handling and much,
much more. Written in Assembly and E.
discussion: comp.sys.amiga.programmer (sometimes)
ports: Amiga
portability: not portable at all
status: actively developed
updated: 1993/03/01
language: EDIF (Electronic Design Interchange Format)
package: Berkeley EDIF200
version: 7.6
parts: translator-building toolkit
author: Wendell C. Baker and Prof A. Richard Newton of the Electronics
Research Laboratory, Department of Electrical Engineering and
Computer Sciences at the University of California, Berkeley, CA
how to get: ftp from pub/edif in ic.berkeley.edu
description: ?
ports: ?
restriction: no-profit w/o permission
updated: 1990/07
language: EDIF v 2 0 101
package: University of Manchester EDIF v 2 0 101 Syntax Checker
how to get: ftp pub/edif from edif.cs.man.ac.uk
description: Parser/Syntax checker for EDIF v 2 0 101 written in ANSI-C
language: Eiffel
package: ?
version: ?
parts: source checker
author: Olaf Langmack <langmack@inf.fu-berlin.de> and Burghardt Groeber
how to get: ftp pub/heron/ep.tar.Z from ftp.fu-berlin.de
description: A compiler front-end for Eiffel-3 is available. It has been
generated automatically with the Karlsruhe toolbox for
compiler construction according to the most recent public
language definition. The parser derives an easy-to-use
abstract syntax tree, supports elementary error recovery
and provides a precise source code indication of errors. It
performs a strict syntax check and analyses 4000 lines of
source code per second on a Sun-SPARC workstation.
updated: 1992/12/14
language: EuLisp
package: Feel (Free and Eventually Eulisp)
version: 0.75
parts: interpreter, documentation
how to get: ftp pub/eulisp from ftp.bath.ac.uk
author: Pete Broadbery <pab@maths.bath.ac.uk>
description: + integrated object system
+ a module system
+ parallelism
+ interfaces to PVM library, tcp/ip sockets, futures,
Linda, and CSP.
ports: most unix
portability: high, but can use shared memory and threads if available
updated: 1992/09/14
language: FMPL of Accardi
package: FMPL interpreter
version: 1
parts: interpreter, documentation
author: Jon Blow <blojo@xcf.berkeley.edu>
how to get: ftp src/local/fmpl/* from xcf.berkeley.edu
description: FMPL is an experimental prototype-based object-oriented
programming language developed at the Experimental Computing
Facility of the University of California, Berkeley.
+ lambda-calculus based constructs.
+ event-driven (mainly I/O events)
updated: 1992/06/02
language: FORTH
package: TILE Forth
version: 2.1
parts: interpreter
author: Mikael Patel <mip@sectra.se>
how to get: ftp tile-forth-2.1.tar.Z from a GNU archive site
description: Forth interpreter in C; many Forth libraries
conformance: Forth83
restriction: shareware/GPL
ports: unix
updated: 1991/11/13
language: FORTH
package: cforth
version: ?
parts: interpreter
author: ?
how to get: comp.sources.unix archive volume 1
description: ?
updated: ?
language: FORTH
package: F68K
version: ?
how to get: ftp atari/Languages/f68k.* from archive.umich.edu
description: a portable Forth system for Motorola 68k computers
ports: Atari ST/TT, Amiga, Sinclair QL and OS9
portability: very high for 68000 based systems
contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
updated: 1992/12/14
language: FORTH
package: 51forth
version: ?
parts: ?
author: Scott Gehmlich
how to get: ftp giovanni/51forth.zip from [130.123.96.9]
description: source and documentation for a 8051 subroutine-
threaded forth
contact: ?
updated: 1993/04/03
language: Kevo (Forth-like)
package: kevo
version: 0.9b6
parts: interpreter, demo programs, user's guide, papers
author: Antero Taivalsaari <tsaari@cs.uta.fi>
how to get: ftp /pub/kevo/* from cs.uta.fi
description: Kevo is a prototype-based object-oriented language for
Macintosh Kevo features a unique prototype-based object model
(which is based neither on classes nor Self-style delegation),
multitasking (both preemptive and cooperative), dynamic memory
management, and an icon-based object browser and editor modeled
loosely after Mac Finder. Kevo has been built around a portable
threaded code interpreter, and is syntactically a close
derivative of Forth.
ports: Macintosh
contact: kevo-interest@ursamajor.uvic.ca
updated: 1993/05/18
language: Forth, Yerk
package: Yerk
version: 3.62
parts: ?
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Yerk is an object oriented language based on a
Forth Kernel with some major modifications. It
was originally known as Neon, developed and sold
as a product by Kriya Systems from 1985 to 1989.
Several of us at The University of Chicago have
maintained Yerk since its demise as a product.
Because of the possible trademark conflict that
Kriya mentions, we picked the name Yerk, which is
at least not an acronym for anything, but rather
stands for Yerkes Observatory, part of the Department
of Astronomy and Astrophysics at U of C.
author: ?
updated: ?
language: Forth?
package: Mops
version: 2.3
parts: ?
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: ???
updated: 1993/03/22
language: Fortran
package: f2c
version: ?
parts: translator(C)
author: ?
how to get: ftp ft2/? from netlib@research.att.com
bugs: dmg@research.att.com
updated: ? 1991/02/16 ?
language: Fortran
package: Floppy
version: ?
parts: ?
how to get: ffccc in comp.sources.misc archive volume 12
description: ?
contact: ?
updated: 1992/08/04
language: Fortran
package: Flow
version: ?
parts: ?
how to get: comp.sources.misc archive volume 31
author: Julian James Bunn <julian@vxcrna.cxern.ch>
descripton: The Flow program is a companion to Floppy, it allows the user
to produce various reports on the structure of Fortran
77 code, such as flow diagrams and common block tables.
requires: Floppy
ports: VMS, Unix, CMS
language: Fortran
package: Adaptor (Automatic DAta Parallelism TranslatOR)
version: ?
parts: translator(Fortran), documentation
how to get: ftp gmd/adaptor/* from ftp.gmd.de
description: Adaptor is a tool that transforms data parallel
programs written in Fortran with array extensions,
parallel loops, and layout directives to parallel
programs with explicit message passing.
ADAPTOR is not a compiler but a source to source
transformation that generates Fortran 77 host and
node programs with message passing. The new
generated source codes have to be compiled by the
compiler of the parallel machine.
ports: Alliant FX/2800, iPSC/860, Net of Sun-4 or RS/6000
Workstations (based on PVM), Parsytec GCel, Meiko Concerto
contact: Thomas Brandes <brandes@gmdzi.gmd.de>
updated: 1992/10/17
language: Fortran, C
package: cfortran.h
version: 2.6
parts: macros, documentation, examples
author: Burkhard Burow
how to get: ftp cfortran/* from zebra.desy.de
description: cfortran.h is an easy-to-use powerful bridge between
C and FORTRAN. It provides a completely transparent, machine
independent interface between C and FORTRAN routines and
global data.
cfortran.h provides macros which allow the C preprocessor to
translate a simple description of a C (Fortran) routine or
global data into a Fortran (C) interface.
references: reviewed in RS/Magazine November 1992 and
a user's experiences with cfortran.h are to be described
in the 1/93 issue of Computers in Physics.
portability: high
ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
contact: burow@vxdesy.cern.ch
updated: 1992/04/12
langauge: Fortran
package: fsplit
version: ?
parts: ?
how to get: ?
description: a tool to split up monolithic fortran programs
updated: ?
language: Fortran
package: ?
version: ?
author: Steve Mccrea <mccrea@gdwest.gd.com>
description: a tool to split up monolithic fortran programs
requires: new awk
updated: ?
language: FP
package: ? funcproglang ?
version: ?
parts: translator(C)
author: ?
how to get: comp.sources.unix archive volume 13
descrition: ? Backus Functional Programming ?
updated: ?
language: Garnet ??
package: Garnet
version: 2.1 alpha
how to get: ftp from /usr/garnet/? from a.gp.cs.cmu.edu
description: ?
contact: ?
updated: ?
language: Garnet
package: Multi-Garnet
version: 2.1
how to get: ftp /usr/garnet/alpha/src/contrib/multi-garnet
from a.gp.cs.cmu.edu
author: Michael Sannella <sannella@cs.washington.edu>
description: better contstraint system for Garnet ??
updated: 1992/09/21
language: Gofer (Haskell derivitive)
package: Gofer
version: 2.28a
parts: interpreter, translator(->C), documentation, examples
author: Mark Jones <jones-mark@cs.yale.edu>
how to get: ftp pub/haskell/gofer from nebula.cs.yale.edu
uk: pub/Packages/Gofer from ftp.comlab.ox.ac.uk
description: Gofer is based quite closely on the Haskell programming
language, version 1.2. It supports lazy evaluation, higher
order functions, pattern matching, polymorphism, overloading
etc and runs on a wide range of machines.
conformances: Gofer does not implement all of Haskell, although it is
very close.
status: maintained but not developed (for a while anyway)
ports: many, including Sun, PC, Mac, Atari, Amiga
updated: 1993/03/09
language: Haskell
package: Chalmers Haskell (aka Haskell B.)
version: ?
parts: ?
how to get: ftp pub/haskell/chalmers/hbc from animal.cs.chalmers.se
requires: LML
contact: ?
updated: 1992/07/06
language: Haskell
package: The Glasgow Haskell Compiler (GHC)
version: 0.10
parts: translator(C), tests, profiler
how to get: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu
uk: ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk
se: ftp pub/haskell/glasgow/* from animal.cs.chalmers.se
description: + almost all of Haskell is implemented
+ An extensible I/O system is provided, based on a "monad"
+ significant language extensions are implemented: Fully
fledged unboxed data types, Ability to write arbitrary in-line
C-language code, Incrementally-updatable arrays, Mutable
reference types.
+ generational garbage collector
+ Good error messages
+ programs compiled with GHC "usually" beat
Chalmers-HBC-compiled ones.
+ compiler is written in a modular and well-documented way.
+ Highly configurable runtime system.
- No interactive system.
- Compiler is greedy on resources.
requires: GNU C 2.1+, perl, Chalmers HBC 0.998.x (source build only)
conformance: Almost all of Haskell is implemented.
ports: Sun4
portability: should be high
bugs: <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
contact: <glasgow-haskell-request@dcs.glasgow.ac.uk>
updated: 1992/12/14
language: Hermes
package: IBM Watson prototype Hermes system
version: 0.8alpha patchlevel 01
parts: bytecode compiler, bytecode translator(C), runtime
author: Andy Lowry <lowry@watson.ibm.com>
how to get: ftp pub/hermes/README from software.watson.ibm.com
description: Hermes is a very-high-level integrated language and
system for implementation of large systems and
distributed applications, as well as for
general-purpose programming. It is an imperative,
strongly typed, process-oriented language. Hermes
hides distribution and heterogeneity from the
programmer. The programmer sees a single abstract
machine containing processes that communicate using
calls or sends. The compiler, not the programmer,
deals with the complexity of data structure layout,
local and remote communication, and interaction with
the operating system. As a result, Hermes programs are
portable and easy to write. Because the programming
paradigm is simple and high level, there are many
opportunities for optimization which are not present in
languages which give the programmer more direct control
over the machine.
reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
Language for Distributed Computing. Prentice-Hall, Englewood
Cliffs, NJ. 1991. ISBN: O-13-389537-8.
ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
discussion: comp.lang.hermes
updated: 1992/03/22
language: Hope
package: ?
parts: ?
how to get: ftp ? from brolga.cc.uq.oz.au
author: ?
description: Functional language with polymorphic types and lazy lists.
First language to use call-by-pattern.
ports: Unix, Mac, PC
updated: 1992/11/27
language: ici
package: ici
parts: interpreter, documentation, examples
author: Tim Long
how to get: ftp pub/ici.cpio.Z from extro.ucc.su.oz.au
description: ICI has dynamic arrays, structures and typing with the flow
control constructs, operators and syntax of C. There are
standard functions to provided the sort of support provided
by the standard I/O and the C libraries, as well as addi-
tional types and functions to support common needs such as
simple data bases and character based screen handling.
ports: Sun4, 80x86 Xenix, NextStep, MSDOS
features: + direct access to many system calls
+ structures, safe pointers, floating point
+ simple, non-indexed built in database
+ terminal-based windowing library
contact: Andy Newman <andy@research.canon.oz.au>
discussion: send "help" to listserv@research.canon.oz.au
portability: high
status: actively developed.
updated: 1992/11/10
language: Icon
package: icon
version: 8.7 (8.5, 8.0 depending on platform)
parts: interpreter, compiler (some platforms), library (v8.8)
author: Ralph Griswold <ralph@CS.ARIZONA.EDU>
how to get: ftp icon/* from cs.arizona.edu
description: Icon is a high-level, general purpose programming language that
contains many features for processing nonnumeric data,
particularly for textual material consisting of string of
characters.
- no packages, one name-space
- no exceptions
+ object oiented features
+ records, sets, lists, strings, tables
+ unlimited line length
- unix interface is primitive
+ co-expressions
references: "The Icon Programmming Language", Ralph E. Griswold and
Madge T. Griswold, Prentice Hall, seond edition, 1990.
"The Implementation of the Icon Programmming Language",
Ralph E. Griswold and Madge T. Griswold, Princeton
University Press 1986
ports: Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2,
Unix (most variants), VMS, Acorn
discussion: comp.lang.icon
contact: icon-project@cs.arizona.edu
updated: 1992/08/21
language: Candle, IDL (Interface Description Language)
package: Scorpion System
version: 5.0
author: University of Arizona
parts: software development environment for developing
software development environments, documentation
how to get: ftp scorpion/* from cs.arizona.edu
description: 20 tools that can be used to construct specialized
programming environments
history: The Scorpion Project was started by Prof. Richard
Snodgrass as an outgrowth of the SoftLab Project (which pro-
duced the IDL Toolkit) that he started when he was at the
University of North Carolina. The Scorpion Project is
directed by him at the University of Arizona and by Karen
Shannon at the University of North Carolina at Chapel Hill.
reference: "The Interface Description Language: Definition and Use,"
by Richard Snodgrass, Computer Science Press, 1989,
ISBN 0-7167-8198-0
ports: Sun-3, Sun-4, Vax, Decstation, NeXT, Sequent, HP9000
discussion: info-scorpion-request@cs.arizona.edu
contact: scorpion-project@cs.arizona.edu
updated: 1991/04/10
language: IDL (Project DOE's Interface Definition Language)
package: SunSoft OMG IDL CFE
version: 1.2
parts: compiler front end, documentation
author: SunSoft Inc.
how to get: ftp pub/OMG_IDL_CFE_1.2/* from omg.org
description: OMG's (Object Management Group) CORBA 1.1 (Common
Object Request Broker Architecture) specification
provides the standard interface definition between
OMG-compliant objects. IDL (Interface Definition
Language) is the base mechanism for object
interaction. The SunSoft OMG IDL CFE (Compiler Front
End) provides a complete framework for building CORBA
1.1-compliant preprocessors for OMG IDL. To use
SunSoft OMG IDL CFE, you must write a back-end; full
instructions are included. No problem. A complete
compiler of IDL would translate IDL into client side
and server side routines for remote communication in
the same manner as the currrent Sun RPCL compiler. The
additional degree of freedom that the IDL compiler
front end provides is that it allows integration of new
back ends which can translate IDL to various
programming languages. Locally at Sun we are working on
a back end that will produce C and C++, and we know of
companies (members of OMG) that are interested in other
target languages such as Pascal or Lisp.
requires: C++ 2.1 conformant C++ compiler
contact: idl-cfe@sun.com
updated: 1993/05/04
language: IFP (Illinois Functional Programming)
package: ifp
version: 0.5
parts: interpreter
author: Arch D. Robison <robison@shell.com>
how to get: comp.sources.unix archive volume 10
description: A variant of Backus' "Functional Programming" language
with a syntax reminiscent of Modula-2. The interpreter
is written in portable C.
references: [1] Arch D. Robison, "Illinois Functional Programming: A
Tutorial," BYTE, (February 1987), pp. 115--125.
[2] Arch D. Robison, "The Illinois Functional
Programming Interpreter," Proceedings of 1987 SIGPLAN
Conference on Interpreters and Interpretive Techniques,
(June 1987), pp. 64-73
ports: UNIX, MS-DOS, CTSS (Cray)
updated: ?
language: INTERCAL
package: C-INTERCAL
version: 0.9
author: Eric Raymond ?
how to get: ftp pub/intercal/intercal0.9.* from sequoia.lle.rochester.edu
description: [can someone please tell me what it is? --muir]
contact: ?
updated: 1993/05/20
language: J
package: J-mode
what: add on to J
parts: emacs macros
how to get: ftp pub/j/gmacs/j-interaction-mode.el from think.com
updated: 1991/03/04
language: J
package: J from ISI
version: 6
parts: interpreter, tutorial
author: Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
how to get: ftp languages/apl/j/* from watserv1.waterloo.edu
description: J was designed and developed by Ken Iverson and Roger Hui. It
is similar to the language APL, departing from APL in using
using the ASCII alphabet exclusively, but employing a spelling
scheme that retains the advantages of the special alphabet
required by APL. It has added features and control structures
that extend its power beyond standard APL. Although it can be
used as a conventional procedural programming language, it can
also be used as a pure functional programming language.
ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
IBM-PC, Atari, 3b1, Amiga
updated: 1992/10/31
language: Janus
package: qdjanus
version: 1.3
parts: translator(prolog)
author: Saumya Debray <debray@cs.arizona.edu>
how to get: ftp janus/qdjanus/* from cs.arizona.edu
conformance: mostly compliant with "Programming in Janus" by
Saraswat, Kahn, and Levy.
description: janus is a janus-to-prolog compiler meant to be used
with Sicstus Prolog
updated: 1992/05/18
language: Janus
package: jc
version: 1.50 alpha
parts: translator(C)
author: David Gudeman <gudeman@cs.arizona.edu>
how to get: ftp janus/jc/* from cs.arizona.edu
description: jc is a janus-to-C compiler (considerably faster than qdjanus).
jc is a _sequential_ implementation of a _concurrent_ language.
status: jc is an experimental system, undergoing rapid development.
It is in alpha release currently.
bugs: jc-bugs@cs.arizona.edu
discussion: janusinterest-request@parc.xerox.com
ports: sun-4, sun-3, Sequent Symmetry
updated: 1992/06/09
language: PCN
package: PCN
version: 2.0
parts: compiler?, runtime, linker, libraries, tools, debugger,
profiler, tracer
author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
<tuecke@mcs.anl.gov>, and others
how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
description: PCN is a parallel programming system designed to improve
the productivity of scientists and engineers using parallel
computers. It provides a simple language for specifying
concurrent algorithms, interfaces to Fortran and C, a
portable toolkit that allows applications to be developed
on a workstation or small parallel computer and run
unchanged on supercomputers, and integrated debugging and
performance analysis tools. PCN was developed at Argonne
National Laboratory and the California Institute of
Technology. It has been used to develop a wide variety of
applications, in areas such as climate modeling, fluid
dynamics, computational biology, chemistry, and circuit
simulation.
ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
(multicomputers): iPSC/860, Touchstone DELTA
(shared memory multiprocessors): Symmetry/Dynix
contact: <pcn@mcs.anl.gov>
updated: 1993/02/12
language: RLaB language (math manipulation - MATLAB-like)
package: RLaB
version: 0.75
parts: interpreter, libraries, documentation
author: Ian Searle <ians@eskimo.com>
how to get: ftp pub/alpha/RLaB from evans.ee.adfa.oz.au
description: RLaB is a "MATLAB-like" matrix-oriented programming
language/toolbox. RLaB focuses on creating a good experimental
environment (or laboratory) in which to do matrix math
Currently RLaB has numeric scalars and matrices (real and
complex), and string scalars, and matrices. RLaB also contains
a list variable type, which is a heterogeneous associative
array.
restriction: GNU General Public License
requires: GNUPLOT, lib[IF]77.a (from f2c)
ports: many unix, OS/2, Amiga
bugs: Ian Searle <ians@eskimo.com>
updated: 1993/04/21 ?
language: FUDGIT language (math manipulation)
package: FUDGIT
version: 2.27
parts: interpreter
author: Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
how to get: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
description: FUDGIT is a double-precision multi-purpose fitting program. It
can manipulate complete columns of numbers in the form of
vector arithmetic. FUDGIT is also an expression language
interpreter understanding most of C grammar except pointers.
Morever, FUDGIT is a front end for any plotting program
supporting commands from stdin. It is a nice mathematical
complement to GNUPLOT, for example.
requires: GNUPLOT
ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
updated: 1993/02/22
language: Unix bc (arbitrary-precision arithmetic language)
package: GNU BC
version: 1.02
parts: interpreter?
author: ?
how to get: ftp bc-1.02.tar.Z from a GNU archive site
description: Bc is an arbitrary precision numeric processing language. Its
syntax in similar to C but differs in many substantial areas.
This version was written to be a POSIX compliant bc processor
with several extensions to the draft standard. This version
does not use the historical method of having bc be a compiler
for the dc calculator. This version has a single executable
that both compiles the language and runs the resulting "byte
code". The "byte code" is NOT the dc language.
bugs: ?
updated: ?
language: Unix dc (arbitrary-precision arithmetic language)
package: GNU DC
version: 0.2
parts: interpreter?
author: ?
how to get: ftp dc-0.2.tar.Z from a GNU archive site
description: Dc is an arbitrary precision numeric processing language. It
uses an RPN (prefix) syntax. This version
bugs: ?
updated: 1993/05/21
language: Calc? (symbolic math calculator)
package: Calc
version: 2.02
parts: interpreter, emacs mode
author: ?
how to get: ftp calc-2.02.tar.z from a GNU archive site
description: Calc is an extensible, advanced desk calculator and
mathematical tool written in Emacs Lisp that runs as part of
GNU Emacs. It is accompanied by the "Calc Manual", which
serves as both a tutorial and a reference. If you wish, you
can use Calc as only a simple four-function calculator, but it
also provides additional features including choice of algebraic
or RPN (stack-based) entry, logarithms, trigonometric and
financial functions, arbitrary precision, complex numbers,
vectors, matrices, dates, times, infinities, sets, algebraic
simplification, differentiation, and integration.
bugs: ?
updated: ?
language: lex
package: flex
version: 2.3.8
parts: scanner generator
how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
author: Vern Paxson <vern@ee.lbl.gov>
updated: ?
language: LIFE (Logic, Inheritance, Functions, and Equations)
package: Wild_LIFE
version: first-release
parts: interpreter, manual, tests, libraries, examples
author: Paradise Project, DEC Paris Research Laboratory.
how to get: ftp pub/plan/Life.tar.Z from gatekeeper.dec.com.
description: LIFE is an experimental programming language with a
powerful facility for structured type inheritance. It
reconciles styles from functional programming, logic
programming, and object-oriented programming. LIFE
implements a constraint logic programming language with
equality (unification) and entailment (matching)
constraints over order-sorted feature terms. The
Wild_LIFE interpreter has a comfortable user interface
with incremental query extension ability. It contains
an extensive set of built-in operations as well as an X
Windows interface.
conformance: semantic superset of LOGIN and LeFun. Syntax is similar
to prolog.
discussion: life-request@prl.dec.com
bugs: life-bugs@prl.dec.com
contact: Peter Van Roy <vanroy@prl.dec.com>
ports: MIPS-Ultrix
portability: good in theory
updated: 1992/12/14
language: lisp
package: RefLisp
version: 2.67
parts: interpreter, documentation, examples, profiler
author: Bill Birch <bbirch@hemel.bull.co.uk>
how to get: ftp implementations/reflisp/* from the directory
/afs/cs.cmu.edu/user/mkant/Public/Lisp on ftp.cs.cmu.edu
description: The interpreter is a shallow-binding (i.e., everything has
dynamic scope), reference counting design making it suitable
for experimenting with real-time and graphic user interface
programming. Common Lisp compatibility macros are provided, and
most of the examples in "Lisp" by Winston & Horn have been run
on RefLisp. RefLisp makes no distinction between symbol-values
and function-values, so a symbol can be either but not both.
There are Lisp modules for lexical scope and for running
indefinite extent Scheme programs.
status: "Last Update for a While," author is emigrating to Australia
ports: MSDOS (CGA/EGA/VGA), Unix (AIX)
updated: 1993/02/09
language: lisp
package: xlisp
version: 2.1
parts: interpreter
author: David Micheal Betz <dbetz@apple.com>
how to get: ftp pub/xlisp* from wasp.eng.ufl.edu
usmail: contact Tom Almy <toma@sail.labs.tek.com>
windows: ftp util/wxlslib.zip from ftp.cica.indiana.edu
version2.0: ftp pub/xlisp/* from cs.orst.edu
macintosh: ftp pub/bskendig/? from netcom.com (source comming)
description: XLISP is an experimental programming language
combining some of the features of Common Lisp with an
object-oriented extension capability. It was
implemented to allow experimentation with
object-oriented programming on small computers.
conformance: subset of Common Lisp with additions of Class and Object
discussion: comp.lang.lisp.x
portability: very high: just needs a C compiler
ports: unix, amiga, atari, mac, MSDOS
restriction: ? no commercial use ?
updated: 1992/05/26 (unix), 1987/12/16 (other platforms)
language: lisp
package: "LISP, Objects, and Symbolic Programming"
version: ?
parts: book with compiler included
author: Robert R. Kessler and Amy R. Petajan
publisher: Scott, Foresman and Company, Glenview, IL
how to get: bookstore...
updated: 1988
language: lisp
package: franz lisp
version: ?
how to get: [does anyone know where you get franz lisp??? --muir]
author: ?
discussion: franz-friends-request@berkeley.edu
updated: ?
language: lisp (WOOL - Window Object Oriented Language)
package: GWM (Generic Window Manager)
version: ?
parts: interpreter, examples
author: ?
how to get: ftp contrib/gwm/* from export.lcs.mit.edu
france: ftp pub/gwm/* from avahi.inria.fr
description: Gwm is an extensible window manager for X11. It is
based on a WOOL kernel, and interpreted dialect of lisp
with specific winow management primitives.
discussion: gwm-talk@???
contact: ?
updated: ?
language: lisp (elisp - Emacs Lisp)
package: GNU Emacs
version: 19.7
parts: editor, interpreter, documentation, source debugger
author: Richard Stallman <rms@gnu.ai.mit.edu> and others
description: An editor that is almost an operating system. Quite
programmable. [someone want to say something better? --muir]
discussion: alt.religion.emacs, gnu.emacs.sources
announcements: gnu.emacs.announce
bugs: gnu.emacs.bug
help: gnu.emacs.help
ports: Unix, VMS, ?
updated: 1993/05/22
language: Logo
package: logo
version: 4
parts: interpreter
author: ?
how to get: comp.sources.unix archive volume 10
description: ?
updated: ?
language: Logo
package: Berkeley Logo
version: 2.9 - alpha
parts: interpreter
author: Brian Harvey <bh@anarres.CS.Berkeley.EDU>
how to ge: ftp pub/*logo* from anarres.cs.berkeley.edu
description: + Logo programs are compatible among Unix, PC, and Mac.
+ "richer" than MswLogo?
- pretty slow.
- doesn't do anything fancy about graphics. (One turtle.)
ports: unix, pc, mac
updated: 1993/03/01
language: Logo
package: MswLogo
version: 3.3
parts: interpreter
author: George Mills <mills@athena.lkg.dec.com>
how to get: ftp pub/comp.lang.logo/programs/mswlogo from cher.media.mit.edu
Source may require emailing George Mills.
description: A windows front-end for Berkeley Logo
status: activly developed
bugs: George Mills <mills@athena.lkg.dec.com>
ports: MS Windows 3.x
updated: 1993/04/20
language: Lolli (logic programming)
package: Lolli
parts: ?
how to get: ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu
author: ? Josh Hodas <hodas@saul.cis.upenn.edu> ?
description: Lolli is an interpreter for logic programming based
on linear logic principles.
Lolli can be viewed as a refinement of the the
Hereditary Harrop formulas of Lambda-Prolog. All the
operators (though not the higher order unification) of
Lambda-Prolog are supported, but with the addition of
linear variations. Thus a Lolli program distinguishes
between clauses which can be used as many, or as few,
times as desired, and those that must be used exactly
once.
requires: ML
updated: 1992/11/08
language: LOOPN
package: LOOPN
version: ?
parts: compiler?, simulator
how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
description: I wish to announce the availability of a compiler, simulator
and associated source control for an object-oriented petri net
language called LOOPN. In LOOPN, a petri net is an extension
of coloured timed petri nets. The extension means firstly that
token types are classes. In other words, they consist of both
data fields and functions, they can be declared by inheriting
from other token types, and they can be used polymorphically.
The object-oriented extensions also mean that module or subnet
types are classes. LOOPN has been developed over a period of
about 5 years at the University of Tasmania, where it has been
used in teaching computer simulation and the modelling of
network protocols. A petri net is a directed, bipartite graph;
nodes are either places (represented by circles) or transitions
(represented by rectangles). A net is marked by placing tokens
on places. When all the places pointing to a transition (the
input places) have a token, the net may be fired by removing a
token from each input place and adding a token to each place
pointed to by the transition (the output places). Petri nets
are used to model concurrent systems, particularly in the
network protocol area.
contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
updated: 1992/12/20
language: Lout
package: Lout
version: 2
parts: translator(Lout->Postscript), documentation
author: Jeffrey H. Kingston <jeff@cs.su.oz.au>
how to get: ftp jeff/lout.2.03.tar.Z from ftp.cs.su.oz.au
description: Lout is a batch text formatting system.
Lout offers an unprecedented range of advanced features,
including equation formatting, tables, diagrams, rotation and
scaling, sorted indexes, bibliographic databases, running
headers and odd-even pages, automatic cross referencing, and
much more, all ready to go. Furthermore, Lout is easily
extended with definitions which are very much easier to write
than troff of TeX macros because Lout is a high-level language,
the outcome of an eight-year research project that went back to
the beginning.
ports: unix
updated: 1993/05/12
language: MeldC (MELD, C)
package: MeldC
version: 2.0
parts: microkernel, compiler, debugger, manual, examples
author: MELD Project, Programming Systems Laboratory at
Columbia University
how to get: obtain license from <MeldC@cs.columbia.edu>
restriction: must sign license, cannot use for commercial purposes
description: MeldC 2.0: A Reflective Object-Oriented Coordination
Programming Language MELDC is a C-based, concurrent,
object-oriented language built on a reflective
architecture. The core of the architecture is
a micro-kernel (the MELDC kernel), which encapsulates
a minimum set of entities that cannot be modeled as
objects. All components outside of the
kernel are implemented as objects in MELDC itself
and are modularized in the MELDC libraries. MELDC is
reflective in three dimensions: structural,
computational and architectural. The structural
reflection indicates that classes and meta-classes are
objects, which are written in MELDC. The
computational reflection means that object behaviors
can be computed and extended at runtime. The
architectural reflection indicates that new
features/properties (e.g., persistency and
remoteness) can be constructed in MELDC.
ports: Sun4/SunOS4.1 Mips/Ultrix4.2
contact: <MeldC@cs.columbia.edu>
updated: 1992/12/15
language: ML
package: LML
version: ?
parts: compiler(?), interactive environment
how to get: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
description: lazy, completely functional variant of ML.
ports: ?
contact: ?
updated: 1992/07/06
langauge: m4
package: GNU m4
version: 1.0
parts: interperter, ?
how to get: ftp m4-1.0.tar.Z from a GNU archive site
author: ?
description: A macro preprocessor language, somewhat flexible.
conformance: ?
ports: ?
updated: 1991/10/25
language: Modula-2, Pascal
package: m2
version: ? 7/2/92 ?
parts: ? compiler ?
history: The compiler was designed and built by Michael L.
Powell, and originally released in 1984. Joel
McCormack sped the compiler up, fixed lots of bugs, and
swiped/wrote a User's Manual. Len Lattanzi ported the
compiler to the MIPS.
description: A modula-2 compiler for VAX and MIPS. A Pascal
compiler for VAX is also included. The Pascal compiler
accepts a language that is almost identical to Berkeley
Pascal.
conformance: extensions:
+ foreign function and data interface
+ dynamic array variables
+ subarray parameters
+ multi-dimensional open array parameters
+ inline proceedures
+ longfloat type
+ type-checked interface to C library I/O routines
how to get: ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com
restriction: must pass changes back to Digital
ports: vax (ultrix, bsd), mips (ultrix)
contact: modula-2@decwrl.pa.dec.com
updated: 1992/07/06
language: Modula-2
package: Ulm's Modula-2 System
version: 2.2.1
parts: compiler, library, tools
author: Andreas Borchert <borchert@mathematik.uni-ulm.de>
compiler derived from the ETHZ compiler for the Lilith system
how to get: ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from
titania.mathematik.uni-ulm.de. Please get the READ_ME too.
conformance: PIM3
requires: gas-1.36 (to be found in the same directory)
ports: Sun3, Nixdorf Targon/31, Concurrent 3200 Series
restriction: commercial use requires licence;
compiler sources available by separate licence agreement
(licence fee is not required if it is possible to
transfer the sources across the network)
contact: Andreas Borchert <borchert@mathematik.uni-ulm.de>
updated: 1992/03/02
language: Modula-2
package: mtc
parts: translator(C)
how to get: ftp soft/unixtools/compilerbau/mtc.tar.Z
from rusmv1.rus.uni-stuttgart.de
author: ?
description: ?
ports: ?
updated: 1991/10/25
language: Modula-2, Modula-3
package: M2toM3 ?
version: ?
parts: translator(Modula-2 -> Modula-3), ?
author: ?
how to get: ftp pub/DEC/Modula-3/contrib/M2toM3 from gatekeeper.dec.com
description: ?
requires: ?
updated: ?
language: Modula-2
package: PRAM emulator and parallel modula-2 compiler ??
version: ?
parts: compiler, emulator
how to get: ftp pub/pram/* from cs.joensuu.fi
description: A software emulator for parallel random access machine (PRAM)
and a parallel modula-2 compiler for the emulator. A PRAM
consists of P processors, an unbounded shared memory, and a
common clock. Each processor is a random access machine (RAM)
consisting of R registers, a program counter, and a read-only
signature register. Each RAM has an identical program, but the
RAMs can branch to different parts of the program. The RAMs
execute the program synchronously one instruction in one clock
cycle.
pm2 programming language is Modula-2/Pascal mixture having
extensions for parallel execution in a PRAM. Parallelism is
expressed by pardo-loop- structure. Additional features include
privat/shared variables, two synchronization strategies, load
balancing and parallel dynamic memory allocation.
contact: Simo Juvaste <sjuva@cs.joensuu.fi>
updated: 1993/02/17
language: Modula-3
package: SRC Modula-3
version: 2.11
parts: translator(C), runtime, library, documentation
how to get: ftp pub/DEC/Modula-3/m3-*.tar.Z from gatekeeper.dec.com
description: The goal of Modula-3 is to be as simple and safe as it
can be while meeting the needs of modern systems
programmers. Instead of exploring new features, we
studied the features of the Modula family of languages
that have proven themselves in practice and tried to
simplify them into a harmonious language. We found
that most of the successful features were aimed at one
of two main goals: greater robustness, and a simpler,
more systematic type system. Modula-3 retains one of
Modula-2's most successful features, the provision for
explicit interfaces between modules. It adds objects
and classes, exception handling, garbage collection,
lightweight processes (or threads), and the isolation
of unsafe features.
conformance: implements the language defined in SPwM3.
ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX
RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS
68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
contact: Bill Kalsow <kalsow@src.dec.com>
discussion: comp.lang.modula3
updated: 1992/02/09
language: Modula-3
package: m3pc
parts: ?
author: ?
how to get: ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com
description: an implementation of Modula-3 for PCs.
[Is this SRC Modula-3 ported? --muir]
updated: ?
language: Motorola DSP56001 assembly
package: a56
version: 1.1
parts: assembler
author: Quinn C. Jensen <jensenq@qcj.icon.com>
how to get: alt.sources archive
updated: 1992/08/10
language: natural languages
package: proof
parts: parser, documentation
author: Craig R. Latta <latta@xcf.Berkeley.EDU>
how to get: ftp src/local/proof/* from scam.berkeley.edu
description: a left-associative natural language grammar scanner
bugs: proof@xcf.berkeley.edu
discussion: proof-request@xcf.berkeley.edu ("Subject: add me")
ports: Decstation3100 Sun-4
updated: 1991/09/23
language: NewsClip ?
package: NewsClip
version: 1.01
parts: translator(NewsClip->C), examples, documentation
author: Looking Glass Software Limited but distributed by
ClariNet Communications Corp.
description: NewsClip is a very high level language designed for
writing netnews filters. It translates into C.
It includes support for various newsreaders.
restriction: Cannot sell the output of the filters. Donation is hinted at.
status: supported for ClariNet customers only
contact: newsclip@clarinet.com
updated: 1992/10/25
language: Oaklisp
package: oaklisp
version: 1.2
parts: interface, bytecode compiler, runtime system, documentation
author: Barak Pearlmutter, Kevin Lang
how to get: ftp /afs/cs.cmu.edu/user/bap/oak/ftpable/* from f.gp.cs.cmu.edu
description: Oaklisp is a Scheme where everything is an object. It
provides multiple inheritence, a strong error system,
setters and locators for operations, and a facility for
dynamic binding.
status: actively developed?
contact: Pearlmutter-Barak@CS.Yale.Edu ?
updated: 1992/05 ?
language: Oberon2
package: Oberon-2 LEX/YACC definition
version: 1.4
parts: parser(yacc), scanner(lex)
how to get: mail bevan@cs.man.ac.uk with Subject "b-server-request~ and
body "send oberon/oberon_2_p_v1.4.shar"
author: Stephen J Bevan <bevan@cs.man.ac.uk>
parts: scanner(lex) parser(yacc)
status: un-officially supported
updated: 1992/07/06
language: Oberon
package: Ceres workstation Oberon System
version: ?
parts: compiler
author: ?
how to get: ftp Oberon/? from neptune.ethz.ch
status: The sources to the various _full_ implementations are indeed
not available but the source to most of the complete Ceres
workstation Oberon System, including NS32032 code generator but
less low level system specific is available. This includes the
complete Oberon compiler written in Oberon.
description: file format is Oberon, binary header
updated: ?
language: OPS5
package: PD OPS5
version: ?
parts: interpreter
how to get: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from
ftp.cs.cmu.edu
author: Written by Charles L. Forgy and ported to Common Lisp by
George Wood and Jim Kowalski.
description: Public domain implementation of an OPS5 interpreter. OPS5 is
a programming language for production systems. ??????
contact: ? Mark Kantrowitz <mkant+@cs.cmu.edu> ?
requires: Common Lisp
updated: 1992/10/17
language: Parallaxis
package: parallaxis
version: 2.0
parts: ?, simulator, x-based profiler
author: ?
how to get: ftp pub/parallaxis from ftp.informatik.uni-stuttgart.de
description: Parallaxis is a procedural programming language based
on Modula-2, but extended for data parallel (SIMD) programming.
The main approach for machine independent parallel programming
is to include a description of the virtual parallel machine
with each parallel algorithm.
ports: MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000
contact: ? Thomas Braunl <braunl@informatik.uni-stuttgart.de> ?
updated: 1992/10/23
language: Parlog
package: SPM System (Sequential Parlog Machine)
version: ?
parts: ?, documenation
author: ?
how to get: ? ftp lang/Parlog.tar.Z from nuri.inria.fr
description: a logic programming language ?
references: Steve Gregory, "Parallel Logic Programming in PARLOG",
Addison-Wesely, UK, 1987
ports: Sun-3 ?
restriction: ? no source code ?
updated: ??
language: Pascal
package: p2c
version: 1.20
parts: translator(Pascal->C)
author: Dave Gillespie <daveg@synaptics.com>
how to get: ftp ? from csvax.cs.caltech.edu
conformance: supports ANSI/ISO standard Pascal as well as substantial
subsets of HP, Turbo, VAX, and many other Pascal dialects.
ports: ?
updated: 1990/04/13
language: Pascal
package: ? iso_pascal ?
version: ?
parts: scanner(lex), parser(yacc)
author: ?
how to get: comp.sources.unix archive volume 13
description: ?
updated: ?
language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
package: Tim Budd's C++ implementation of Kamin's interpreters
version: ?
parts: interpretors, documentation
author: Tim Budd <budd@cs.orst.edu>
how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
description: a set of interpretors written as subclasses based on
"Programming Languages, An Interpreter-Based Approach",
by Samuel Kamin.
requires: C++
status: ?
contact: Tim Budd <budd@fog.cs.orst.edu>
updated: 1991/09/12
language: Pascal
package: ? frontend ?
version: Alpha
parts: frontend (lexer, parser, semantic analysis)
author: Willem Jan Withagen <wjw@eb.ele.tue.nl>
how to get: ftp pub/src/pascal/front* from ftp.eb.ele.tue.nl
description: a new version of the PASCAL frontend using the Cocktail
compiler tools.
updated: 1993/02/24
language: Pascal
package: ptc
version: ?
parts: translator(Pacal->C)
how to get: ftp languages/ptc from uxc.sco.uiuc.edu ? (use archie?)
description: ?
contact: ?
updated: ?
language: Turbo Pascal, Turbo C
package: tptc
version: ?
parts: translator(Turbo Pascal->Turbo C)
how to get: ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu
description: (It does come with full source and a student recently used it
as a start for a language that included stacks and queues as a
built-in data type.
contact: ?
updated: ?
language: Perl (Practical Extraction and Report Language)
package: perl
version: 4.0 patchlevel 36
parts: interpreter, debugger, libraries, tests, documentation
how to get: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov
OS/2 port: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
Mac port: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
Amiga port: ftp perl4.035.V010.* from wuarchive.wustl.edu
VMS port: ftp software/vms/perl/* from ftp.pitt.edu
Atari port: ftp amiga/Languages/perl* from atari.archive.umich.edu
DOS port: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
DOS port#2: ftp pub/msdos/perl/bperl* from oak.oakland.edu
author: Larry Wall <lwall@netlabs.com>
description: perl is an interpreted language optimized for scanning
arbitrary text files, extracting information from those text
files, and printing reports based on that information. It's
also a good language for many system management tasks.
features: + very-high semantic density becuase of powerful operators
like regular expression substitution
+ exceptions, provide/require
+ associative array can be bound to dbm files
+ no arbitrary limits
+ direct access to almost all system calls
+ can access binary data
+ many powerful common-task idioms
+ 8-bit clean, including nulls
- three variable types: scalar, array, and hash table
- unappealing syntax
references: "Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
discussion: comp.lang.perl
bugs: comp.lang.perl; Larry Wall <lwall@netlabs.com>
ports: almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS
portability: very high for unix, not so high for others
updated: 1993/02/07
language: perl, awk, sed, find
package: a2p, s2p, find2perl
parts: translators(perl)
author: Larry Wall
how to get: comes with perl
description: translators to turn awk, sed, and find into perl.
language: perl, yacc
package: perl-byacc
version: 1.8.2
parts: parser-generator(perl)
how to get: ftp local/perl-byacc.tar.Z from ftp.sterling.com
author: Rick Ohnemus <rick@IMD.Sterling.COM>
description: A modified version of byacc that generates perl code. Has '-p'
switch so multiple parsers can be used in one program (C or
perl).
portability: Should work on most (?) UNIX systems. Also works with
SAS/C 6.x on AMIGAs.
updated: 1993/01/24
language: Postscript
package: Ghostscript
version: 2.6
parts: interpreter, ?
author: L. Peter Deutsch <ghost@aladdin.com>
how to get: ftp pub/GNU/ghostscript* from a GNU archive site
description: A postscript interpreter with previewers for serval
systems and many fonts.
updated: 1993/05/10
language: Postscript, Common Lisp
package: PLisp
version: ?
parts: translator(Postscript), programming environment(Postscript)
description: ?
author: John Peterson <peterson-john@cs.yale.edu>
updated: ?
language: Prolog
package: SB-Prolog
version: 3.1 ?
author: interpreter
how to get: ftp pub/sbprolog from sbcs.sunysb.edu
description: ?
contact: ? warren@sbcs.sunysb.edu ?
restriction: GNU General Public License
updated: ?
langauge: Prolog
package: XSB
version: "a Beta version"
parts: interpreter, preprocessor(HiLog), ?
author: XSB research group / SUNY at Stony Brook
how to get: ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu
description: XSB extends the standard functionality of Prolog (being a
descendant of PSB- and SB-Prolog) to include implementations of
OLDT (tabling) and HiLog terms. OLDT resolution is extremely
useful for recursive query computation, allowing programs to
terminate correctly in many cases where Prolog does not. HiLog
supports a type of higher-order programming in which predicate
symbols can be variable or structured. This allows unification
to be performed on the predicate symbols themselves in addition
to the arguments of the predicates. Of course, Tabling and
HiLog can be used together.
contact: xsb-contact@cs.sunysb.edu
updated: 1993/04/13
langauge: Prolog
package: Modular SB-Prolog
version: ?
parts: interpreter
how to get: ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk
description: SB-Prolog version 3.1 plus modules
ports: Sparc
contact: Brian Paxton <mprolog@dcs.ed.ac.uk>
restriction: GNU General Public License
updated: ?
language: ALF [prolog variant]
package: alf (Algebraic Logic Functional programming language)
version: ?
parts: runtime, compiler(Warren Abstract Machine)
author: Rudolf Opalla <opalla@julien.informatik.uni-dortmund.de>
how to get: ftp pub/programming/languages/LogicFunctional from
ftp.germany.eu.net
description: ALF is a language which combines functional and
logic programming techniques. The foundation of
ALF is Horn clause logic with equality which consists
of predicates and Horn clauses for logic programming,
and functions and equations for functional programming.
Since ALF is an integration of both programming
paradigms, any functional expression can be used
in a goal literal and arbitrary predicates can
occur in conditions of equations.
updated: 1992/10/08
language: CLP (Constraint Logic Programming language) [Prolog variant]
package: CLP(R)
version: 1.2
parts: runtime, compiler(byte-code), contstraint solver
author: IBM
how to get: mail to Joxan Jaffar <joxan@watson.ibm.com>
description: CLP(R) is a constraint logic programming language
with real-arithmetic constraints. The implementation
contains a built-in constraint solver which deals
with linear arithmetic and contains a mechanism
for delaying nonlinear constraints until they become
linear. Since CLP(R) subsumes PROLOG, the system
is also usable as a general-purpose logic programming
language. There are also powerful facilities for
meta programming with constraints. Significant
CLP(R) applications have been published in diverse
areas such as molecular biology, finance, physical
modelling, etc. We are distributing CLP(R) in order
to help widen the use of constraint programming, and
to solicit feedback on the system
restriction: free for academic and research purposes only
contact: Roland Yap <roland@bruce.cs.monash.edu.au>, Joxan Jaffar
ports: unix, msdos, OS/2
updated: 1992/10/14
language: Prolog (variant)
package: Aditi
version: Beta Release
parts: interpreter, database
author: Machine Intelligence Project, Univ. of Melbourne, Australia
how to get: send email to aditi@cs.mu.oz.au
description: The Aditi Deductive Database System is a multi-user
deductive database system. It supports base relations
defined by facts (relations in the sense of relational
databases) and derived relations defined by rules that
specify how to compute new information from old
information. Both base relations and the rules
defining derived relations are stored on disk and are
accessed as required during query evaluation. The
rules defining derived relations are expressed in a
Prolog-like language, which is also used for expressing
queries. Aditi supports the full structured data
capability of Prolog. Base relations can store
arbitrarily nested terms, for example arbitrary length
lists, and rules can directly manipulate such terms.
Base relations can be indexed with B-trees or
multi-level signature files. Users can access the
system through a Motif-based query and database
administration tool, or through a command line
interface. There is also in interface that allows
NU-Prolog programs to access Aditi in a transparent
manner. Proper transaction processing is not supported
in this release.
ports: Sparc/SunOS4.1.2 Mips/Irix4.0
contact: <aditi@cs.mu.oz.au>
updated: 1992/12/17
language: Lambda-Prolog
package: Prolog/Mali (PM)
version: ? 6/23/92 ?
parts: translator(C), linker, libraries, runtime, documentation
how to get: ftp pm/* from ftp.irisa.fr
author: Pascal Brisset <brisset@irisa.fr>
description: Lambda-Prolog, a logic programming language defined by
Miller, is an extension of Prolog where terms are
simply typed $\lambda$terms and clauses are higher
order hereditary Harrop formulas. The main novelties
are universal quantification on goals and implication.
references: + Miller D.A. and Nadathur G. "Higher-order logic
programming", 3rd International Conference on Logic
Programming, pp 448-462, London 1986.
+ Nadathur G. "A Higher-Order Logic as a Basis for Logic
Programming", Thesis, University of Pennsylvania, 1987.
requires: MALI-V06 abstract memory. MALI is available by anonymous ftp
from ftp.irisa.fr
ports: unix
discussion: prolog-mali-request@irisa.fr
contact: pm@irisa.fr
updated: 1992/07/06
language: Prolog (variant)
package: CORAL
version: ?
parts: interpreter, interface(C++), documentation
author: ?
how to get: ftp ? from ftp.cs.wisc.edu
description: The CORAL deductive database/logic programming system was
developed at the University of Wisconsin-Madison. The CORAL
declarative language is based on Horn-clause rules with
extensions like SQL's group-by and aggregation operators, and
uses a Prolog-like syntax. * Many evaluation techniques are
supported, including bottom-up fixpoint evaluation and top-down
backtracking. * A module mechanism is available. Modules are
separately compiled; different evaluation methods can be used
in different modules within a single program. * Disk-resident
data is supported via an interface to the Exodus storage
manager. * There is an on-line help facility
requires: AT&T C++ 2.0 (G++ soon)
ports: Decstation, Sun4
updated: 1993/01/29
language: Prolog
package: BinProlog
version: 1.71
parts: interpreter?, documentation
how to get: ftp BinProlog/* from clement.info.umoncton.ca
description: BinProlog 1.71 is at this time probably the
fastest freely available C-emulated Prolog.
ports: IBM-PC/386, Sun-4, Sun-3, NeXT
contact: Paul Tarau <tarau@info.umoncton.ca>
updated: 1993/04/03
language: prolog
package: SWI-Prolog
version: 1.6.12
author: Jan Wielemaker <jan@swi.psy.uva.nl>
how to get: ftp pub/SWI-Prolog from swi.psy.uva.nl
OS/2: ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de
conformance: superset
features: "very nice Ed. style prolog, best free one I've seen"
ports: Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but
incomplete, support needed); RS6000, PS2/AIX, Atari ST,
Gould PN, NeXT, VAX, HP-UX (known problems, support needed);
MSDOS (status unknown), OS/2
restriction: GNU General Public License
status: activly developed
discussion: prolog-request@swi.psy.uva.nl
contact: (OS/2) Andreas Toenne <atoenne@mpi-sb.mpg.de>
updated: 1993/03/05
language: Prolog
package: Frolic
version: ?
how to get: ftp pub/frolic.tar.Z from cs.utah.edu
requires: Common Lisp
contact: ?
updated: 1991/11/23
language: Prolog
package: ? Prolog package from the University of Calgary ?
version: ?
how to get: ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca
description: + delayed goals
+ interval arithmetic
requires: Scheme
portability: relies on continuations
contact: ?
updated: ?
language: Prolog
package: ? slog ?
version: ?
parts: translator(Prolog->Scheme)
author: dorai@cs.rice.edu
how to get: ftp public/slog.sh from titan.rice.edu
description: macros expand syntax for clauses, elations etc, into Scheme
ports: Chez Scheme
portability: reliese on continuations
updated: ?
language: Prolog
package: LM-PROLOG
version: ?
parts: ?
author: Ken Kahn and Mats Carlsson
how to get: ftp archives/lm-prolog.tar.Z from sics.se
requires: ZetaLisp
contact: ?
updated: ?
language: Prolog
package: Open Prolog
version: ?
parts: ?
host to get: ftp languages/open-prolog/* from grattan.cs.tcd.ie
description: ?
ports: Macintosh
contact: Michael Brady <brady@cs.tcd.ie>
updated: ?
language: Prolog
package: UPMAIL Tricia Prolog
version: ?
parts: ?
how to get: ftp pub/Tricia/README from ftp.csd.uu.se
description: ?
contact: <tricia-request@csd.uu.se>
updated: ?
language: Prolog
package: ?; ? (two systems)
version: ?; ?
parts: ?; ?
how to get: ftp ai.prolog/Contents from aisun1.ai.uga.edu
description: ?; ?
contact: Michael Covington <mcovingt@uga.cc.uga.edu>
ports: MSDOS, Macintosh; MSDOS
updated: ?; ?
language: Prolog
package: XWIP (X Window Interface for Prolog)
version: 0.6
parts: library
how to get: ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu
description: It is a package for Prologs following the Quintus foreign
function interface (such as SICStus). It provides a (low-level)
Xlib style interface to X. The current version was developed
and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1.
portability: It is adaptable to many other UNIX configurations.
contact: xwip@cs.ucla.edu
updated: 1993/02/25
language: Prolog
package: PI
version: ?
parts: library
how to get: ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt
description: PI is a interface between Prolog applications and XWindows that
aims to be independent from the Prolog engine, provided that it
has a Quintus foreign function interface (such as SICStus,
YAP). It is mostly written in Prolog and is divided in two
libraries: Edipo - the lower level interface to the Xlib
functions; and Ytoolkit - the higher level user interface
toolkit
contact: Ze' Paulo Leal <zp@ncc.up.pt>
updated: 1993/03/02
language: Prolog
package: ISO draft standard
parts: language definition
how to get: ftp ? from ftp.th-darmstadt.de
updated: 1992/07/06
langauge: BABYLON (Prolog variant???)
package: BABYLON
version: ?
parts: development environment
how to get: ftp gmd/ai-research/Software/* from gmdzi.gmd.de
description: BABYLON is a development environment for expert systems. It
includes frames, constraints, a prolog-like logic formalism,
and a description language for diagnostic applications.
requires: Common Lisp
ports: many ?
contact: ?
updated: ?
--
Send compilers articles to compilers@iecc.cambridge.ma.us or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.